<?php

namespace app\admin\controller;

use app\admin\common\controller\Common;
use app\common\model\Nav as NavModel;
use app\common\model\CarouselFigure as CarouselFigureModel;
use app\common\model\Products as ProductsModel;
use app\common\model\CaseCenter as CaseCenterModel;
use app\common\model\News as NewsModel;
use app\common\model\FriendshipLink as FriendshipLinkModel;
use think\Db;

// 首页
class Index extends Common
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        // 获取导航栏总数量
        $navTotal = NavModel::count();
        // 获取轮播图总数量
        $carouselFigureTotal = CarouselFigureModel::count();
        // 获取产品总数量
        $productsTotal = ProductsModel::count();
        // 获取新闻总数量
        $newsTotal = NewsModel::count();
        // 获取友情链接总数量
        $friendshipLinkTotal = FriendshipLinkModel::count();
        // 获取MySQL版本
        $mysqlVersion = Db::query('select VERSION()')[0]['VERSION()'];

        // 模板变量赋值
        $this->assign(['mysqlVersion' => $mysqlVersion, 'navTotal' => $navTotal, 'carouselFigureTotal' => $carouselFigureTotal, 'productsTotal' => $productsTotal, 'newsTotal' => $newsTotal, 'friendshipLinkTotal' => $friendshipLinkTotal]);

        // 视图渲染
        return view();
    }
    
    /**
     * 删除文件或文件夹
     *
     * @param  String  $path
     * @return \think\Response
     */
    public function deldir($path)
    {
        // 如果是目录则继续
        if(is_dir($path)){
            // 扫描一个文件夹内的所有文件夹和文件并返回数组
            $p = scandir($path);
            // 循环
            foreach ($p as $val) {
                // 排除目录中的.和..和.gitignore
                $result = $val !== '.' && $val !== '..' && $val !== '.gitignore';
                // 判断条件
                if ($result) {
                    // 如果是目录则递归子目录，继续操作
                    if (is_dir($path . '/' . $val)) {
                        // 子目录中操作删除文件夹和文件
                        $this->deldir($path . '/' . $val . '/');
                        // 目录清空后删除空文件夹
                        @rmdir($path . '/' . $val.'/');
                    } else {
                        // 如果是文件直接删除
                        unlink($path . '/' . $val);
                    }
                }
            }
        }
    }

    /**
     * 清除缓存
     *
     * @return \think\Response
     */
    public function remove_runtime()
    {
        // 设置路径
        $path = __RUNTIME__;
        //调用函数，传入路径
        $this->deldir($path);
    }
}
